package com.floreantpos.report;

import java.util.Date;

public class SalesBalanceReport {

  private Date fromDate;
  private Date toDate;
  private Date reportTime;

  private double grossTaxableSalesAmount;
  private double grossNonTaxableSalesAmount;
  private double discountAmount;
  private double netSalesAmount;
  private double salesTaxAmount;
  private double totalRevenueAmount;
  private double giftCertSalesAmount;
  private double payInsAmount;
  private double chargedTipsAmount;
  private double grossReceiptsAmount;
  private double cashReceiptsAmount;
  private double creditCardReceiptsAmount;
  private double arReceiptsAmount;
  private double giftCertReturnAmount;
  private double giftCertChangeAmount;
  private double cashBackAmount;
  private double receiptDiffAmount;
  private double creditCardReceiptAmount;
  private double debitCardReceiptAmount;
  private double benefitCardReceiptAmount;
  private double grossTipsPaidAmount;
  private double tipsDiscountAmount;
  private double cashPayoutAmount;
  private double cashAccountableAmount;
  private double drawerPullsAmount;
  private double drawerBleedsAmount;
  private double coCurrentAmount;
  private double coPreviousAmount;
  private double overShortAmount;
  private double cardReceiptsAmount;
  private double cardReceiptsDiffAmount;

  public double getArReceiptsAmount() {
    return arReceiptsAmount;
  }

  public void setArReceiptsAmount(double arReceiptsAmount) {
    this.arReceiptsAmount = arReceiptsAmount;
  }

  public double getCardReceiptsDiffAmount() {
    return cardReceiptsDiffAmount;
  }

  public void setCardReceiptsDiffAmount(double cardReceiptsDiffAmount) {
    this.cardReceiptsDiffAmount = cardReceiptsDiffAmount;
  }

  public double getCardReceiptsAmount() {
    return cardReceiptsAmount;
  }

  public void setCardReceiptsAmount(double cardReceiptsAmount) {
    this.cardReceiptsAmount = cardReceiptsAmount;
  }

  public void setCreditCardReceiptAmount(double creditCardReceiptAmount) {
    this.creditCardReceiptAmount = creditCardReceiptAmount;
  }

  public double getCreditCardReceiptAmount() {
    return creditCardReceiptAmount;
  }

  public void setBenefitCardReceiptAmount(double benefitCardReceiptAmount) {
    this.benefitCardReceiptAmount = benefitCardReceiptAmount;
  }

  public double getBenefitCardReceiptAmount() {
    return benefitCardReceiptAmount;
  }

  public void setDebitCardReceiptAmount(double debitCardReceiptAmount) {
    this.debitCardReceiptAmount = debitCardReceiptAmount;
  }

  public double getDebitCardReceiptAmount() {
    return debitCardReceiptAmount;
  }

  public double getCashAccountableAmount() {
    return cashAccountableAmount;
  }

  public void setCashAccountableAmount(double cashAccountableAmount) {
    this.cashAccountableAmount = cashAccountableAmount;
  }

  public double getCashBackAmount() {
    return cashBackAmount;
  }

  public void setCashBackAmount(double cashBackAmount) {
    this.cashBackAmount = cashBackAmount;
  }

  public double getCashPayoutAmount() {
    return cashPayoutAmount;
  }

  public void setCashPayoutAmount(double cashPayoutAmount) {
    this.cashPayoutAmount = cashPayoutAmount;
  }

  public double getCashReceiptsAmount() {
    return cashReceiptsAmount;
  }

  public void setCashReceiptsAmount(double cashReceiptsAmount) {
    this.cashReceiptsAmount = cashReceiptsAmount;
  }

  public double getChargedTipsAmount() {
    return chargedTipsAmount;
  }

  public void setChargedTipsAmount(double chargedTipsAmount) {
    this.chargedTipsAmount = chargedTipsAmount;
  }

  public double getCoCurrentAmount() {
    return coCurrentAmount;
  }

  public void setCoCurrentAmount(double coCurrentAmount) {
    this.coCurrentAmount = coCurrentAmount;
  }

  public double getCoPreviousAmount() {
    return coPreviousAmount;
  }

  public void setCoPreviousAmount(double coPreviousAmount) {
    this.coPreviousAmount = coPreviousAmount;
  }

  public double getCreditCardReceiptsAmount() {
    return creditCardReceiptsAmount;
  }

  public void setCreditCardReceiptsAmount(double creditCardReceiptsAmount) {
    this.creditCardReceiptsAmount = creditCardReceiptsAmount;
  }

  public double getDiscountAmount() {
    return discountAmount;
  }

  public void setDiscountAmount(double discountAmount) {
    this.discountAmount = discountAmount;
  }

  public double getDrawerPullsAmount() {
    return drawerPullsAmount;
  }

  public double getDrawerBleedsAmount() {
    return drawerBleedsAmount;
  }

  public void setDrawerPullsAmount(double drawerPullsAmount) {
    this.drawerPullsAmount = drawerPullsAmount;
  }

  public void setDrawerBleedsAmount(double drawerBleedsAmount) {
    this.drawerBleedsAmount = drawerBleedsAmount;
  }

  public Date getFromDate() {
    return fromDate;
  }

  public void setFromDate(Date fromDate) {
    this.fromDate = fromDate;
  }

  public double getGiftCertChangeAmount() {
    return giftCertChangeAmount;
  }

  public void setGiftCertChangeAmount(double giftCertChangeAmount) {
    this.giftCertChangeAmount = giftCertChangeAmount;
  }

  public double getGiftCertReturnAmount() {
    return giftCertReturnAmount;
  }

  public void setGiftCertReturnAmount(double giftCertReturnAmount) {
    this.giftCertReturnAmount = giftCertReturnAmount;
  }

  public double getGiftCertSalesAmount() {
    return giftCertSalesAmount;
  }

  public void setGiftCertSalesAmount(double giftCertSalesAmount) {
    this.giftCertSalesAmount = giftCertSalesAmount;
  }

  public double getGrossNonTaxableSalesAmount() {
    return grossNonTaxableSalesAmount;
  }

  public void setGrossNonTaxableSalesAmount(double grossNonTaxableSalesAmount) {
    this.grossNonTaxableSalesAmount = grossNonTaxableSalesAmount;
  }

  public double getGrossReceiptsAmount() {
    return grossReceiptsAmount;
  }

  public void setGrossReceiptsAmount(double grossReceiptsAmount) {
    this.grossReceiptsAmount = grossReceiptsAmount;
  }

  public double getGrossTaxableSalesAmount() {
    return grossTaxableSalesAmount;
  }

  public void setGrossTaxableSalesAmount(double grossTaxableSalesAmount) {
    this.grossTaxableSalesAmount = grossTaxableSalesAmount;
  }

  public double getGrossTipsPaidAmount() {
    return grossTipsPaidAmount;
  }

  public void setGrossTipsPaidAmount(double grossTipsPaidAmount) {
    this.grossTipsPaidAmount = grossTipsPaidAmount;
  }

  public double getNetSalesAmount() {
    return netSalesAmount;
  }

  public void setNetSalesAmount(double netSalesAmount) {
    this.netSalesAmount = netSalesAmount;
  }

  public double getOverShortAmount() {
    return overShortAmount;
  }

  public void setOverShortAmount(double overShortAmount) {
    this.overShortAmount = overShortAmount;
  }

  public double getPayInsAmount() {
    return payInsAmount;
  }

  public void setPayInsAmount(double payInsAmount) {
    this.payInsAmount = payInsAmount;
  }

  public double getReceiptDiffAmount() {
    return receiptDiffAmount;
  }

  public void setReceiptDiffAmount(double receiptDiffAmount) {
    this.receiptDiffAmount = receiptDiffAmount;
  }

  public Date getReportTime() {
    return reportTime;
  }

  public void setReportTime(Date reportTime) {
    this.reportTime = reportTime;
  }

  public double getSalesTaxAmount() {
    return salesTaxAmount;
  }

  public void setSalesTaxAmount(double salesTaxAmount) {
    this.salesTaxAmount = salesTaxAmount;
  }

  public double getTipsDiscountAmount() {
    return tipsDiscountAmount;
  }

  public void setTipsDiscountAmount(double tipsDiscountAmount) {
    this.tipsDiscountAmount = tipsDiscountAmount;
  }

  public Date getToDate() {
    return toDate;
  }

  public void setToDate(Date toDate) {
    this.toDate = toDate;
  }

  public double getTotalRevenueAmount() {
    return totalRevenueAmount;
  }

  public void setTotalRevenueAmount(double totalRevenueAmount) {
    this.totalRevenueAmount = totalRevenueAmount;
  }

  public void calculate() {
    netSalesAmount = (grossTaxableSalesAmount + grossNonTaxableSalesAmount) - discountAmount;
    totalRevenueAmount = netSalesAmount + salesTaxAmount;
    grossReceiptsAmount = totalRevenueAmount + payInsAmount + chargedTipsAmount;
    receiptDiffAmount = grossReceiptsAmount - cashReceiptsAmount - creditCardReceiptsAmount
            - giftCertReturnAmount + giftCertChangeAmount
            + cashBackAmount;
    cashAccountableAmount = arReceiptsAmount - grossTipsPaidAmount
            + tipsDiscountAmount - cashPayoutAmount - giftCertChangeAmount
            - cashBackAmount - drawerPullsAmount - drawerBleedsAmount;
    overShortAmount = cashAccountableAmount - drawerPullsAmount
            - coCurrentAmount + coPreviousAmount;
    cardReceiptsAmount = creditCardReceiptAmount + debitCardReceiptAmount + benefitCardReceiptAmount;
    cardReceiptsDiffAmount = cardReceiptsAmount - creditCardReceiptAmount - debitCardReceiptAmount - benefitCardReceiptAmount;

  }
}
